Repository navigation
fix(deps): v2.3.0 release audit, raise the qs override to >=6.16.1 - #5427
Conversation
qs <=6.16.0 throws an uncaught TypeError from stringify with arrayFormat 'comma' on an element carrying a non-callable own toString. It reaches everything through express. The fix is inside the range the root override already pins, so the override's floor moves up and the lock resolves 6.17.1. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: cliffhall <cliff@futurescale.com>
|
|
| Tools | Prompts | Resources | Resource templates | |
|---|---|---|---|---|
| Base | 22 | 4 | 8 | 5 |
| Head | 22 | 4 | 8 | 5 |
Updated by this run for f20ce8eaa66bf7a6a6c6294d1c4a4fa23f13c153.
There was a problem hiding this comment.
🟢 Approval recommended
No active review issues are reported for the qs dependency override and lockfile update.
No open issues 🎉
What changed in this PR
Updates the root qs dependency override and lockfile as part of the v2.3.0 release audit, addressing GHSA-6pq8-jhm2-2vcw without changing published server manifests.
Changes:
- Raises the
qsoverride minimum from6.16.0to6.16.1. - Locks
qsto6.17.1with updated download URL and integrity hash.
| File | Description |
|---|---|
package.json |
Raises the minimum allowed qs version to exclude affected releases. |
package-lock.json |
Records qs 6.17.1 and its artifact metadata. |
Review effort: Balanced
|
Copilot round 1: clean (no findings, no suppressed comments). Review loop ends on the first clean round. |
Closes #5425
Description
The v2.3.0 release audit's one in-range fix: the root
overridesfloor forqsmoves from>=6.16.0to>=6.16.1, and the lock resolvesqs6.17.1. That clears GHSA-6pq8-jhm2-2vcw fromnpm audit. The full audit report is below and on #5425.The audit report
Tree:
origin/v2/mainat72ad22c6. Commands: thereleaseskill, step 2a.package-lock.json(root + 4 TypeScript workspaces)npm audit --audit-level=highsrc/fetch/uv.lockpip-audit --require-hashessrc/git/uv.lockpip-audit --require-hashessrc/time/uv.lockpip-audit --require-hashesAll three Python servers were audited (the skill's
EXIT=0).Findings and outcomes
qs<=6.16.0, lock held 6.16.0, viaexpressqsthrough express's own rangeqs >=6.16.0→>=6.16.1, relocked to 6.17.1. Audit PR, no changeset (no published manifest changes)minimatch<11.0.1; filesystem declares^10.0.1(10.2.5)search_filespatterns andexcludePatternsminimatch10.2.5 undereslint/typescript-eslintnpm audit fixwas not run.Server Details
qsreaches everything throughexpresspackage.jsonoverride andpackage-lock.json(4 lines)Motivation and Context
Release step 2a for #5425.
How Has This Been Tested?
Targeted probe.
npm ls qs --allbefore showsqs@6.16.0, after showsqs@6.17.1everywhere.npm audit --json | jq '.vulnerabilities | keys'before includesqs, after does not. The lockfile diff touches only theqsentry (version, resolved, integrity). No server behavior changes: the publishedeverythingmanifest is untouched, and installs downstream resolveqsthrough express's own range, not this lockfile.npm run local:gate: EXIT=0, including the boot smoke of everything over each transport.Breaking Changes
None.
Types of changes
Checklist
npm run changeset) if this changes what a TypeScript server publishes (not applicable: nothing published changes)🤖 Generated with Claude Code